// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "CoreMinimal.h"
#include "GameFramework/Character.h"
#include "GameFramework/Pawn.h"
#include "SCTCameraCharacter.generated.h"

UCLASS()
class SCT_API ACameraCharacter : public APawn
{
	GENERATED_BODY()

public:
	// Sets default values for this character's properties
	ACameraCharacter();

protected:
	// Called when the game starts or when spawned
	virtual void BeginPlay() override;

public:
	// Called every frame
	virtual void Tick(float DeltaTime) override;

	// Called to bind functionality to input
	virtual void SetupPlayerInputComponent(class UInputComponent* PlayerInputComponent) override;

public:
	class USpringArmComponent* CameraSpringArm;
	class UCameraComponent* ViewCamera;

public:
	void OnScrollWheelUpPress(float axisValue);
	void OnMouseRightDrag(float axisValue);
	void CalcCameraMoveDrogDirction();
	void OnKeyLeftShiftPress();
	void OnKeyLeftShiftReleased();
	void OnTurn(float axisValue);
	void OnLookAtRotate(float axisValue);

public:
	float ScrollWheelSpeed;

	FVector2D FontCurorPos;
	FVector2D CurrentCurcorPos;

	bool IsBindShiftKey;

	bool IsRotateCameraState;
	bool IsMoveCameraState;
};
